As computer networks and electronic data continue to grow, users are becoming increasingly dependent on search tools to find the desired result from a myriad of available information. The first generation of Internet search tools rely on META tags, which are created by publishers of a web page to include relevant keywords of the page. When a user query is received, pages with META tags that match the words in the query are identified and presented to the user. There are some issues associated with this approach. Some page publishers, hoping that their web pages will turn up in searches, include many keywords unrelated to the content of the page in META tags. As a result, irrelevant pages often turn up in the search results, making the search results less useful. Furthermore, it is difficult to rank pages with matching META tags.
The second generation of search tools address some of the problems associated with the first generation search tools. The second generation solutions do not strictly rely on META tags. Instead, they match the user query with words in the page. Alternative ways of assessing page ranking are used, such as determining the number of times a page is referenced by other pages. However, these tools face similar challenges as the first generation search tools. Some publishers have learned ways to defeat the search algorithms to make their pages appear in searches by adding irrelevant words in the page, cross linking pages, etc. Furthermore, users conducting the search typically need to enter accurate search terms that match words in the page.
It would be desirable to have a way to provide relevant search results that are not easily defeated by publishers' manipulation of pages. It would also be useful if the search technique can easily rank the relevant pages, including ones that do not have the exact keywords as the user query.